1. Field of the Invention
The invention disclosed broadly relates to the field of computer networks, and more particularly relates to the field of multicasting under various protocols including the Internet Protocol (IP).
2. Description of the Related Art
The Internet has provided the public worldwide network required for the global linking of various networks and application of personal computers. In this regard, the Internet Protocol (xe2x80x9cIPxe2x80x9d) has become an important moving force for the growth of computer applicability. The Internet is a packet-based communication system. Each packet comprises a header portion that includes routing information and a payload (or message) portion that includes the data to be delivered. The header portion includes a destination address, a source address, and a portion identifying the protocol to be used. IP packets can be transmitted as unicasts or multicasts. A unicast is a point-to-point transmission in which the destination address corresponds to a single node. A multicast is used to send a packet to a group of destinations. In the case of a multicast, the destination address in the IP header corresponds to a group of several destination nodes. Thus, a multicast would be initiated by a source node sending an IP packet to a xe2x80x9cgroupxe2x80x9d address such that it reaches all the nodes in the group. There are various multicast algorithms in common use today.
The IP protocol has many applications such as electronic-mail and IP telephony. In the future as the Internet and the IP protocol become increasingly important in communications, IP multicast will become increasingly important, and it will become very important to support large numbers of xe2x80x9csmallxe2x80x9d multicast groups. This will be driven by several developmentsxe2x80x94such as IP Telephony and the emergence of small, mobile computing devices that are capable of supporting real-time voice and data communications. As IP telephony becomes widely adopted, it will become very important to support large numbers of conference calls with a small number of parties (such as 5 or less). It seems reasonable to expect that there will be a similar need to support many similarly small voice-data conferences and voice-data-video conferences. Multicasting offers one solution to the problem of providing efficient communications within groups.
Some of today""s IP multicast schemes, such as the xe2x80x9cdense modexe2x80x9d schemes, are suitable for the case in which there are a relatively small number of large multicast groups that are of interest all over the Internet. These work well if one is trying to distribute xe2x80x9cbroadcast channelsxe2x80x9d like ABC, NBC, CBS, BBC, CNN and ESPN to viewers all around the world but they have scalability problems when there is a large number of groups. In some of these schemes, the nodes in the IP network build a distribution tree for each source and multicast group pair and they disseminate this multicast routing information to places where it is not neededxe2x80x94which leads to scaling problems if there are a large number of multicast groups.
In other schemes such as CBT (Core Based Trees) there has been an attempt to limit the amount of multicast routing information that needs to be disseminated, processed, and stored throughout the network. These schemes use a xe2x80x9cshared distribution treexe2x80x9d that is shared by all the members of a multicast group and they try to limit the distribution of multicast routing information so that this information only goes to the nodes that xe2x80x9creally need it.xe2x80x9d But these schemes also have problems. These problems include: (1) the tendency to concentrate traffic on small portions of a network and the use of less than optimal paths in routing packets to their destinations, and (2) the requirement that each of the routers on a multicast tree xe2x80x9csignal,xe2x80x9d process, and store the multicast routing information, which can be a problem if there are a large number of multicast groups. They also require that the multicast routing information for the various multicast groups be communicated across inter-AS administrative boundaries (an AS is an Autonomous System such as the ATandT network). These requirements cause scaleability problems and increase administrative complexity if there are a large number of multicast groups.
Accordingly, there is a need for a system which overcomes the above problems.
The multicasting system described herein provides a solution for the problems discussed above for the case of small groups. Thus, according to the invention, a method for multicast communications in a packet-switched network comprises the source node steps of:
(1) including a plurality of addresses for destination nodes in a packet;
(2) including an identification of a protocol for small group multicast; and
(3) transmitting the packet to the destination nodes.
The protocol for small group multicast indicates to routers receiving the packet to perform the following process:
(1) determining a next hop for each of the destination nodes listed in the packet received;
(2) partitioning the destination nodes into groups according to the next hop determined for each destination node in the preceding step;
(3) replicating the packet such that there is at least one copy of the packet for each of the next hops;
(4) modifying the list of addresses for the destination nodes such that the list of addresses for each of the next hops includes only the addresses for the destination nodes to be routed through that next hop; and
(5) transmitting the modified copies of the packet to each of the next hops identified in the preceding steps for routing to the addresses included in each packet.